<html>
    <head>
        <title>如何注册getter</title>
    </head>
    <body>
        <script>
            /*
                        二、如何注册 getter ?

                                    在创建 store 实例的时候注册 getter,  一个 getter的本质就是一个函数，这个函数的返回值会根据它的依赖被缓存起来。

                                    注册 getter 的函数接受以下参数：

                                        ①、state,如果在模块中定义则为模块的局部状态独享

                                        ②、getters，等同于 store.getters

                                    
                                    在 uni-app 项目根目录下， sotre目录index.js 文件下：

                                        // 页面路径：  store/index.js

                                        import Vue from 'vue'
                                        import Vuex form 'vuex'

                                        Vue.use(Vuex);

                                        const store = new Vuex.Store({
                                            state:{
                                                todos:[
                                                    {
                                                        id:1,
                                                        text:'我是内容一'，
                                                        done:true
                                                    },
                                                    {
                                                        id: 2,
                                                        text: '我是内容二',
                                                        done: false
                                                    }
                                                ]
                                            },
                                            getters:{
                                                doneToDos: state=>{
                                                    return state.todos.filter(todo=>toDo.done)
                                                },
                                                doneTodosCount:(state,getters)=>{
                                                    // state: 可以访问状态数据
                                                    // getters: 访问其他函数，等同于 store.getters

                                                    return getters.doneTodos.lenght
                                                },
                                                // getter 直接返回函数定义，这样可通过传递的参数来加工状态数据
                                                getTodoById:(state)=>(id)=>{
                                                    return state.todos.find(todo=>todo.id===id)
                                                }
                                            }
                                        })

                                        export default store;
                    */
        </script>
    </body>
</html>